In coding, information can be divided into two categories: soft information and hard information. Soft information includes some probability, likelihood or certainty that a decision (e.g., whether a bit is a 1 or a 0) is correct. For example, a decoder or other processor configured to output hard information (e.g., about a bit received over a wireless channel or read back from storage media) outputs either a 1 or a 0 without any indication how certain the decoder is in that particular decision. In contrast, a decoder or other processor configured to output soft information includes some certainty or probability along with the decision (e.g., the decoder thinks the bit is a 1 with 75% certainty). It would be desirable if new techniques could be developed for generating soft information using other soft information as input where the techniques are capable of being performed by hardware such as a field-programmable gate array (FPGA), application-specific integrated circuit (ASIC) or a microprocessor such as an ARM core.